
/*=============================================================================
  bmplib, a simple library to create, modify, and write BMP image files.
  Copyright (C) 2009-2014 by Zack T Smith.

  This program is free software; you can redistribute it and/or modify
  it under the terms of the GNU General Public License version 2 
  as published by the Free Software Foundation.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program; if not, write to the Free Software
  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA

  The author may be reached at 1@zsmith.co.
 *============================================================================*/

#include <stdio.h>

#include "BMP.h"

// Mini characters, 8 pixels high.
static const char *font_chars_ [] =
{
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "  ",
    "  ",
    "##",
    "##",
    "",
    "",
    "",

    "##  ##",
    "##  ##",
    "##  ##",
    " #   #",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",

    "     ##  ##  ",
    "     ##  ##  ",
    "    ##  ##  ",
    "    ##  ##  ",
    "  ##########",
    "  ##########",
    "    ##  ##  ",
    "   ##  ##  ",
    " ##########",
    " ##########",
    "   ##  ##  ",
    "   ##  ##  ",
    "  ##  ##  ",
    "  ##  ##  ",
    "",
    "",
    "",

    "    ##    ",
    "    ##    ",
    "  ########",
    "##  ##",
    "##  ##    ",
    "##  ##    ",
    "  ######  ",
    "    ## ##",
    "    ##  ##",
    "    ##  ##",
    "    ## ##",
    "########",
    "    ##    ",
    "    ##    ",
    "",
    "",
    "",

    "  ##     ##",
    " #  #    ##",
    "  ##     ##",
    "        ##",
    "       ##",
    "      ##",
    "     ##",
    "    ##",
    "   ##",
    "  ##",
    " ##",
    "##      ## ",
    "##     #  #",
    "##      ## ",
    "",
    "",
    "",

    " #####",
    "##   ##",
    "##   ##",
    "##   ##",
    "##   ##",
    "##  ## ",
    " ## ##   ##",
    " ####   ##",
    "##  ##  ##",
    "##   ####",
    "##     ##",
    "##     ##",
    " ##   ## ##",
    "  #####   ##",
    "",
    "",
    "",

    "###",
    "###",
    " ##",
    "  #",
    " #",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",

    "   ##",
    "  ##",
    " ##",
    " ##",
    " ##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    " ##",
    " ##",
    " ##",
    "  ##",
    "   ##",
    "",

    "##  ",
    " ##  ",
    "  ##",
    "  ##",
    "  ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "  ##",
    "  ##",
    "  ##",
    " ##",
    "##",
    "",

    " ",
    "",
    "",
    "    ##",
    "##  ##  ##",
    " ## ## ##",
    "  ######",
    "   ####",
    "  ######",
    " ## ## ##",
    "##  ##  ##",
    "    ##",
    "",
    "",
    "",
    "",
    "",

    "",
    "",
    "",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "##########",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "",
    "",
    "",
    "",
    "",

    " ",
    " ",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "###",
    "###",
    " ##",
    "  #",
    " #",

    " ",
    "",
    "",
    "",
    "",
    "",
    "",
    "#######",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",

    "  ",
    "  ",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "###",
    "###",
    "",
    "",
    "",

    " ",
    "     ##",
    "     ##",
    "    ##",
    "    ##",
    "   ##",
    "   ##",
    "   ##",
    "  ##",
    "  ##",
    " ##",
    " ##",
    "##",
    "##",
    "",
    "",
    "",

    "  #####  ",
    " ##   ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    " ##   ##",
    "  #####  ",
    "",
    "",
    "",

"   ##",
"   ##",
"  ###",
"#####",
"   ##",
"   ##",
"   ##",
"   ##",
"   ##",
"   ##",
"   ##",
"   ##",
"   ##",
"   ##   ",
    "",
"",
"",

    "  ####  ",
    " ##  ##",
    "##    ##",
    "      ##",
    "      ##",
    "     ##",
    "    ##",
    "   ##",
    "  ##",
    " ##      ",
    "##      ",
    "##      ",
    "##      ",
    "########",
    "",
    "",
    "",

    "########",
    "      ##",
    "      ##",
    "     ##",
    "    ##  ",
    "   ##   ",
    "  ####  ",
    "     ##",
    "      ##",
    "      ##",
    "      ##",
    "##    ##",
    " ##  ##",
    "  ####  ",
    "",
    "",
    "",

    "     ##",
    "    ###",
    "   ####",
    "  ## ##",
    " ##  ##",
    "##   ##",
    "#########",
    "     ##",
    "     ##",
    "     ##",
    "     ##",
    "     ##",
    "     ##",
    "     ##",
    "",
    "",
    "",

    "########",
    "##      ",
    "##      ",
    "##      ",
    "##      ",
    "###",
    " ######",
    "      ##",
    "      ##",
    "      ##",
    "      ##",
    "##    ##",
    " ##  ##",
    "  ####  ",
    "",
    "",
    "",

    "  ##### ",
    " ##    #",
    "##",
    "##",
    "##",
    "##",
    "#######",
    "##    ##  ",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    " ##   ##",
    "  #####  ",
    "",
    "",
    "",

    "########",
    "     ##",
    "     ##",
    "    ##",
    "    ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "  ##",
    "  ##",
    "  ##",
    "  ##",
    "",
    "",
    "",

    "  #####  ",
    " ##   ##",
    "##     ##",
    "##     ##",
    "##     ##",
    " ##   ##",
    "  #####  ",
    " ##   ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    " ##   ##",
    "  #####  ",
    "",
    "",
    "",

    "  #####  ",
    " ##   ##",
    "##     ##",
    "##     ##",
    "##     ##",
    " ##    ##",
    "  #######",
    "      ##",
    "      ##",
    "     ##",
    "     ##",
    "     ##",
    "    ##",
    "    ##",
    "",
    "",
    "",

    " ",
    " ",
    "",
    "",
    "",
    "###",
    "###",
    "",
    "",
    "",
    "",
    "###",
    "###",
    "",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "",
    "###",
    "###",
    "",
    "",
    "",
    "",
    "###",
    "###",
    " ##",
    " ##",
    "#",
    "",

    "      ##",
    "     ##",
    "    ##",
    "   ##",
    "  ##",
    " ##",
    "##",
    "##",
    " ##",
    "  ##",
    "   ##",
    "    ##",
    "     ##",
    "      ##",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "",
    "",
    "############",
    "############",
    "    ",
    "    ",
    "############",
    "############",
    "",
    "",
    "",
    "",
    "",

    "##",
    " ##",
    "  ##",
    "   ##",
    "    ##",
    "     ##",
    "      ##",
    "      ##",
    "     ##",
    "    ##",
    "   ##",
    "  ##",
    " ##",
    "##",
    "",
    "",
    "",

    "  ######  ",
    " ##    ##",
    "##      ##",
    "##      ##",
    "        ##",
    "       ##",
    "     ###  ",
    "    ##",
    "    ##",
    "    ##",
    "",
    "",
    "    ##",
    "    ##",
    "",
    "",
    "",

    "  ######  ",
    " ##    ##",
    "##      ##",
    "##      ##",
    "##    ####",
    "##   ## ##",
    "##  ##  ##",
    "##  ##  ##",
    "##   ## ##",
    "##    ####",
    "##        ",
    "##        ",
    " ##     ##",
    "  #######",
    "",
    "",
    "",

    "    ##",
    "   ####",
    "   ####",
    "  ##  ##",
    "  ##  ##",
    "  ##  ##",
    "  ##  ##",
    " ##    ##",
    " ########",
    " ##    ##",
    " ##    ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "",
    "",
    "",

    "#######",
    "##    ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##    ##",
    "#######",
    "##    ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##    ##",
    "#######",
    "",
    "",
    "",

    "  ######  ",
    " ##    ##",
    "##      ##",
    "##      ##",
    "##        ",
    "##        ",
    "##        ",
    "##        ",
    "##        ",
    "##        ",
    "##      ##",
    "##      ##",
    " ##    ##",
    "  ######",
    "",
    "",
    "",

    "########",
    "##     ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##     ##  ",
    "########",
    "",
    "",
    "",

    "##########",
    "##",
    "##",
    "##",
    "##",
    "##",
    "########",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##########",
    "",
    "",
    "",

    "##########",
    "##",
    "##",
    "##",
    "##",
    "##",
    "########",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "",
    "",
    "",

    "  ######  ",
    " ##    ##",
    "##      ##",
    "##      ##",
    "##        ",
    "##        ",
    "##    ####",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    " ##    ###",
    "  ###### #",
    "",
    "",
    "",

    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##########",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "",
    "",
    "",

    " ## ",
    " ##",
    " ##",
    " ##",
    " ##",
    " ##",
    " ##",
    " ##",
    " ##",
    " ##",
    " ##",
    " ##",
    " ##",
    " ##",
    "",
    "",
    "",

    "      ##",
    "      ##",
    "      ##",
    "      ##",
    "      ##",
    "      ##",
    "      ##",
    "      ##",
    "      ##",
    "      ##",
    "##    ##",
    "##    ##",
    " ##  ##",
    "  ####",
    "",
    "",
    "",

    "##      ##",
    "##     ##",
    "##    ##",
    "##   ##",
    "##  ##",
    "## ##",
    "####",
    "####",
    "## ##",
    "##  ##",
    "##   ##",
    "##    ##",
    "##     ##",
    "##      ##",
    "",
    "",
    "",

    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "########",
    "",
    "",
    "",

    "##         ##",
    "###       ###",
    "####     ####",
    "## ##   ## ##",
    "##  ## ##  ##",
    "##   ###   ##",
    "##    #    ##",
    "##         ##",
    "##         ##",
    "##         ##",
    "##         ##",
    "##         ##",
    "##         ##",
    "##         ##",
    "",
    "",
    "",

    "##      ##",
    "###     ##",
    "####    ##",
    "####    ##",
    "## ##   ##",
    "## ##   ##",
    "##  ##  ##",
    "##  ##  ##",
    "##   ## ##",
    "##   ## ##",
    "##    ####",
    "##    ####",
    "##     ###",
    "##      ##",
    "",
    "",
    "",

    "  ######  ",
    " ##    ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    " ##    ##",
    "  ######",
    "",
    "",
    "",

    "########",
    "##     ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##     ##",
    "########",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "",
    "",
    "",

    "  ######",
    " ##    ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##  ##  ##",
    "##  ##  ##",
    "##   ## ##",
    "##    ###",
    " ##    ##",
    "  ##### ##",
    "",
    "",
    "",

    "########",
    "##     ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##     ##",
    "########",
    "####",
    "## ##",
    "##  ##",
    "##   ##",
    "##    ##",
    "##     ##",
    "##      ##",
    "",
    "",
    "",

    "  ######",
    " ##    ##",
    "##      ##",
    "##      ##",
    "##",
    " ###",
    "   #####",
    "       ##",
    "        ##",
    "        ##",
    "##      ##",
    "##      ##",
    " ##    ##",
    "  ######",
    "",
    "",
    "",

    "##########",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "",
    "",
    "",

    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    "##      ##",
    " ##    ##",
    "  ######",
    "",
    "",
    "",

    "##       ##",
    "##       ##",
    " ##     ##",
    " ##     ##",
    " ##     ##",
    "  ##   ## ",
    "  ##   ## ",
    "  ##   ## ",
    "   ## ##  ",
    "   ## ##  ",
    "   ## ##  ",
    "    ###   ",
    "    ###   ",
    "     #    ",
    "",
    "",
    "",

"##      ##      ##",
"##      ##      ##",
"##      ##      ##",
" ##    ####    ##",
" ##    ####    ##",
" ##   ##  ##   ##",
" ##   ##  ##   ##",
"  ## ##    ## ##",
"  ## ##    ## ##",
"  ## ##    ## ##",
"  ## ##    ## ##",
"   # #      # #",
"   ###      ###",
"   ###      ###",
    "",
    "",
    "",

    "##      ##",
    "##      ##",
    " ##    ##",
    " ##    ##",
    "  ##  ##",
    "  ##  ##",
    "    ##",
    "    ##",
    "  ##  ##",
    "  ##  ##",
    " ##    ##",
    " ##    ##",
    "##      ##",
    "##      ##",
    "",
    "",
    "",

    "##      ##",
    "##      ##",
    " ##    ##",
    " ##    ##",
    "  ##  ##",
    "  ##  ##",
    "   ####",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "    ##",
    "",
    "",
    "",

    "#########",
    "      ##",
    "      ##",
    "     ##",
    "     ##",
    "    ##",
    "    ##",
    "   ##",
    "   ##",
    "  ##",
    "  ##",
    " ##",
    " ##",
    "#########",
    "",
    "",
    "",

    "#####",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "#####",
    "",

    "##",
    "##",
    "##",
    "##",
    " ##",
    "  ##",
    "   ##",
    "    ##",
    "     ##",
    "      ##",
    "       ##",
    "        ##",
    "        ##",
    "        ##",
    "",
    "",
    "",

    "#####",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "#####",
    "",

    "    ##",
    "   ####",
    "  ##  ##",
    " ##    ##",
    "##      ##",
    "##      ##",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "########",
    "",
    "",
    "",

    "####",
    "####",
    "##",
    " ##",
    "   #",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "  ######",
    " ##    ##",
    "       ##",
    "       ##",
    "   ######",
    " ##    ##",
    "##     ##",
    "##     ##",
    " ##    ##",
    "  ##### ##",
    "",
    "",
    "",

    "##",
    "##",
    "##",
    "##",
    "## ####",
    "###   ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "###   ##",
    "## ####",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "  #####",
    " ##   ##",
    "##      ",
    "##      ",
    "##      ",
    "##      ",
    "##      ",
    "##      ",
    " ##   ##",
    "  #####",
    "",
    "",
    "",

    "       ##",
    "       ##",
    "       ##",
    "       ##",
    "  #### ##",
    " ##   ###",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    " ##   ###",
    "  #### ##",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "  #####",
    " ##   ##",
    "##     ##",
    "##     ##",
    "#########",
    "##",
    "##",
    "##",
    " ##    ##",
    "  ######",
    "",
    "",
    "",

    "  #####",
    " ##",
    " ## ",
    " ## ",
    "#####",
    " ## ",
    " ## ",
    " ## ",
    " ## ",
    " ## ",
    " ## ",
    " ## ",
    " ## ",
    " ## ",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "  ##### #",
    " ##    ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    " ##    ##",
    "  #######",
    "       ##",
    "##    ##",
    " ######",

    "##",
    "##",
    "##",
    "##",
    "## ####",
    "###   ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "",
    "",
    "",

"##",
"##",
"",
"",
"##",
"##",
"##",
"##",
"##",
"##",
"##",
"##",
"##",
"##",
    "",
    "",
    "",

    "   ##",
    "   ##",
    " ",
    "     ",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "   ##",
    "  ##",
    "###",

    "##",
    "##",
    "##",
    "##",
    "##    ##",
    "##   ##",
    "##  ##  ",
    "## ##  ",
    "####    ",
    "####    ",
    "## ##  ",
    "##  ##  ",
    "##   ##",
    "##    ##",
    "",
    "",
    "",

"##",
"##",
"##",
"##",
"##",
"##",
"##",
"##",
"##",
"##",
"##",
"##",
"##",
"##",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "## ### ####",
    "###  ##   ##",
    "##   ##   ##",
    "##   ##   ##",
    "##   ##   ##",
    "##   ##   ##",
    "##   ##   ##",
    "##   ##   ##",
    "##   ##   ##",
    "##   ##   ##",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "## ####",
    "###   ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "  #####",
    " ##   ## ",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    " ##   ## ",
    "  #####  ",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "## ####",
    "###   ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##    ##",
    "#######",
    "##",
    "##",
    "##",

    " ",
    "",
    "",
    "",
    "  #### ##",
    " ##   ###",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    " ##    ##",
    "  #######",
    "       ##",
    "       ##",
    "       ##",

    " ",
    "",
    "",
    "",
    "## ####",
    "####  ##",
    "###",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "##",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    " ######",
    "##    ##",
    "##",
    "##",
    " ###",
    "    ###",
    "      ##",
    "      ##",
    "##    ##",
    " ######",
    "",
    "",
    "",

    "  ##",
    "  ##",
    "  ##",
    "  ##",
    "######",
    "  ##",
    "  ##",
    "  ##",
    "  ##",
    "  ##",
    "  ##",
    "  ##",
    "  ##",
    "   ####",
    "",
    "",
    "",

    "        ",
    "",
    "",
    "",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    "##     ##",
    " ##    ##",
    "  ##### #",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "##     ##",
    "##     ##",
    "##     ##",
    " ##   ##",
    " ##   ##",
    " ##   ##",
    "  ## ##",
    "  ## ##",
    "  #####",
    "   ###",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "##     ##     ##",
    "##     ##     ##",
    "##     ##     ##",
    " ##   ####   ##",
    " ##   ####   ##",
    " ##   ####   ##",
    "  ## ##  ## ##",
    "  ## ##  ## ##",
    "  #####  #####",
    "   ###    ###",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    "##      ##",
    "##      ##",
    " ##    ##",
    "  ##  ##",
    "    ##",
    "    ##",
    "  ##  ##",
    " ##    ##",
    "##      ##",
    "##      ##",
    "",
    "",
    "",

    " ",
    "",
    "",
    "",
    " ##     ##",
    " ##     ##",
    " ##     ##",
    "  ##   ##",
    "  ##   ##",
    "  ##   ##",
    "   ## ##",
    "   ## ##",
    "   ####",
    "   ###",
    "   ##",
    "  ##",
    "###",

    " ",
    "",
    "",
    "",
    "#########",
    "       ##",
    "      ##",
    "     ##",
    "    ##",
    "   ##",
    "  ##  ",
    " ##  ",
    "##  ",
    "#########",
    "",
    "",
    "",

};

const char **get_font_chars ()
{
        return font_chars_;
}

